Hacking prevention system

ABSTRACT

A method for producing an output from an input encoding the output, the method including choosing functions G, F, and H, providing an input x, choosing a random number r, computing x′=G(x, r), sending x′ to a computation unit, computing, in the computation unit, y′=F(x′), receiving y′ from the computation unit, and computing the output w=H(y′, r), wherein G, F, and H are chosen such that w is not dependent on the choice or r. Related apparatus and methods are also described.

FIELD OF THE INVENTION

[0001] The present invention relates to apparatus and methods for preventing unauthorized access to secured communications, particularly but not exclusively to apparatus and methods for preventing unauthorized access to secured communications in conditional access systems.

BACKGROUND OF THE INVENTION

[0002] In systems that include secure communications, including conditional access systems as are well known in the art, there is a well-known problem of “hackers” who attempt to access secured communications in an unauthorized manner.

[0003] One particular hacker attack and a system for frustrating such a hacker attack is described in U.S. Pat. No. 5,590,200 to Nachman et al, the disclosure of which is hereby incorporated herein by reference. The disclosures of all references referred to in U.S. Pat. No. 5,590,200 are also hereby incorporated herein by reference.

[0004] Briefly, the system of Nachman et al is intended to frustrate a particular type of hacker attack known as “the McCormac hack”. In the particular context of conditional access systems for television in which the McCormac hack was developed, the McCormac attack may be understood as follows.

[0005] Prior art systems typically include an ICAM (Integrated Conditional Access Module), typically comprised in a set top box (STB), in communication with a security element such as a smart card. (It is appreciated that some prior art systems may perform similar functions without having an ICAM). In prior art systems, as is well known in the art, the ICAM receives an Entitlement Control Message (ECM), typically but not necessarily by broadcast. The ECM includes information necessary to generate a Control Word (CW) used for descrambling content such as broadcast content. The ICAM passes the ECM to a secure computation unit, typically comprising a removable security element such as a smart card, where the ECM is processed, typically using a secret cryptographic function, to obtain the CW. The smart card then passes the CW back to the ICAM, which in turn passes the CW to other components of the STB for use in descrambling the content. Typical prior art systems are described in U.S. Pat. Nos. 5,282,249 and 5,481,609 to Cohen et al and in U.S. Pat. No. 6,178,242 to Tsuria, the disclosures of which are hereby incorporated herein by reference.

[0006] It is well known in the prior art that the smart card is specifically designed to return a valid CW only to users who are authorized to view a particular piece of content, or a particular service, associated with the ECM.

[0007] Briefly, the McCormac hack comprises a method for listening in to or “sniffing” the communications between the ICAM and the smart card, and in particular for capturing the CW being returned to the ICAM by the smart card. In the McCormac hack, the CW is then broadcast to other set top boxes, including set top boxes which are not authorized to view the content associated with the ECM. While the original McCormac hack was described in terms of radio broadcast of the CW, the inventors of the present invention believe that other distribution methods, including distribution via a network such as the Internet or distribution via local coaxial cable associated with a pay television system, may also be used in the McCormac hack and that these other methods may be more practical and easier to use. Therefore, the inventors of the present invention believe that the McCormac hack may now be a more serious threat than previously supposed.

[0008] The system of Nachman et al provides a particular system for frustrating the McCormac hack. The inventors of the present invention believe that there are some drawbacks in the system of Nachman et al. In particular, the system of Nachman et al, if implemented in an existing broadcast system, for example, would require changes in the broadcast headend. Furthermore, the system of Nachman et al would require extra bandwidth, as opposed to earlier prior art systems, in order to send ECMs in accordance with the system of Nachman et al. One example of an earlier prior art system in this context is described in U.S. Pat. Nos. 5,282,249 and 5,481,609 to Cohen et al, mentioned above and incorporated herein by reference.

[0009] The following U.S. Provisional Patent Applications, from which the present application claims priority, are hereby incorporated herein by reference:

[0010] U.S. Provisional Patent Application S/No. 60/322,053 of Halperin et al, filed 13 Sep. 2001; and

[0011] U.S. Provisional Patent Application S/No. 60/382,488 of Halperin et al, filed 22 May 2002.

[0012] The disclosures of all references mentioned above and throughout the present specification are hereby incorporated herein by reference.

SUMMARY OF THE INVENTION

[0013] The present invention seeks to provide improved apparatus and methods for preventing unauthorized access to secured communications.

[0014] In preferred embodiments, the present invention addresses the following scenario:

[0015] A first party Alice gets a (typically but not necessarily small) encrypted message and wants to decrypt the message. Alice lacks the tamper-resistant hardware and the secret keys needed for decryption but a second party Bob owns the tamper-resistant hardware and the secret keys. Therefore, Alice needs to send the encrypted message to Bob to decrypt the encrypted message and send the plain text back to Alice. Unfortunately, doing this allows another party Eve to eavesdrop on the communication line conveying the decrypted message (as done, for example, in the well-known “McCormac hack” referred to above). The present invention, in preferred embodiments thereof, provides apparatus and methods to enable Alice to know the decrypted message without needing to use either tamper-resistant hardware or secret keys, and without enabling eavesdropping of the decrypted message.

[0016] In the present specification, the example of a broadcast system is used by way of example only, it being appreciated that the system of Nachman et al as well as the present invention may be used in other appropriate types of communication systems. In general, the present invention, in preferred embodiments thereof, can be used to protect secured communications which are restricted in scope, in the sense that not any possible message can be protected; rather, as will be appreciated from the discussion below, messages that can be protected in preferred embodiments of the present invention generally fall within particular categories governed by mathematical equations.

[0017] It would be possible to improve the system of Nachman et al by using a secure channel between an ICAM (Integrated Conditional Access Module in a set top box (STB)) and a security element such as a smart card in communication therewith. However, such an approach would require having cryptographic secrets on both sides (for example, using a key exchange algorithm such as the well-known Diffie-Hellman algorithm). For a discussion of relevant cryptographic methods, see for example Applied Cryptography by Bruce Schneier, John Wiley, 2nd ed., 1996, the disclosure of which is hereby incorporated herein by reference. In particular, the following portions of Applied Cryptography may be of particular interest: for a discussion of key exchange, Section 3.1 (pages 47-52) and Chapter 22 (pages 513-525), including a discussion of the Diffie-Hellman algorithm in Section 22.1 (pages 513-516).

[0018] Relevant cryptographic methods are also discussed in Menezes et al, Handbook of Applied Cryptography, 1997, the disclosure of which is hereby incorporated herein by reference.

[0019] The present invention, in the context of a preferred embodiment relating to the case of an STB and a smart card, may be briefly summarized as follows:

[0020] 1. The ICAM receives the ECM and performs a randomized cryptographic operation thereon.

[0021] 2. The processed ECM is sent to the smart card.

[0022] 3. The smart card operates the smart card's one-way function (as is well known in the art and described, for example, in the Cohen et al patents mentioned above) on the ECM to produce a modified CW and sends the modified CW back to the ICAM. It is appreciated, throughout the present specification, that the example of using a one-way function is believed to be preferred, but that other methods known in the art may also be used.

[0023] 4. The ICAM performs an “inverse” operation (in a sense, inverse to the randomized cryptographic operation previously performed by the ICAM on the ECM) on the modified CW to obtain the actual CW.

[0024] There is thus provided in accordance with a preferred embodiment of the present invention a method for producing an output from an input encoding the output, the method including choosing functions G, F, and H, providing an input x, choosing a random number r, computing x′=G(x, r), sending x′ to a computation unit, computing, in the computation unit, y′=F(x′), receiving y′ from the computation unit, and computing the output w=H(y′, r), wherein G, F, and H are chosen such that w is not dependent on the choice of r.

[0025] Further in accordance with a preferred embodiment of the present invention the output includes one of the following: a control word (CW), and a decryption key.

[0026] Still further in accordance with a preferred embodiment of the present invention the method also includes utilizing the output to decrypt an encrypted message.

[0027] Additionally in accordance with a preferred embodiment of the present invention F includes a secret function.

[0028] Moreover in accordance with a preferred embodiment of the present invention the choosing a random number r includes choosing a random number r using a random number generator.

[0029] Further in accordance with a preferred embodiment of the present invention the random number generator includes a secure random number generator.

[0030] Still further in accordance with a preferred embodiment of the present invention the choosing a random number r includes choosing a random number r using a pseudo-random number generator.

[0031] Additionally in accordance with a preferred embodiment of the present invention the function G is chosen such that derivation of r from x and G(r, x) is computationally unfeasible.

[0032] Moreover in accordance with a preferred embodiment of the present invention the function F is chosen such that, for two inputs x₁ and x₂, it is computationally unfeasible to compute F(x₁) from x₁, x₂, and F(x₂).

[0033] Further in accordance with a preferred embodiment of the present invention the method also includes choosing a group having a computationally hard discrete logarithm problem, and wherein G(x, r)=x, g^(r), and F(x, u)=u^(a(x)), and H(y, r)=y^(1/r mod order of the group), and a(x) is a secret cryptographic function, and g is a fixed generator of the group, and r is a large secret random integer relatively prime with the order of the group.

[0034] Still farther in accordance with a preferred embodiment of the present invention the method also includes providing a large prime number p, choosing a random number r relatively prime with (p-1), and computing r′=1/r mod (p-1), and wherein the output w has the form b^(a(x))mod p, and a(x) is a secret cryptographic function, and G(x, r)=(x, b^(r)mod p), and F(x′)=u^(a(x))mod p, where x′=(x, u), and H (y′, r)=y′^(r′)mod p.

[0035] Additionally in accordance with a preferred embodiment of the present invention b is a generator of all of 1 . . . p-1.

[0036] Moreover in accordance with a preferred embodiment of the present invention b is a generator of a sub-group of 1 . . . p-1, the order of the sub-group being large and prime.

[0037] Further in accordance with a preferred embodiment of the present invention the order of the sub-group is greater than 2¹²⁰.

[0038] Still further in accordance with a preferred embodiment of the present invention the order of the sub-group is greater than 2¹⁶⁰.

[0039] Additionally in accordance with a preferred embodiment of the present invention the computation unit includes a secure computation unit.

[0040] Moreover in accordance with a preferred embodiment of the present invention the secure computation unit includes a removable security element.

[0041] Further in accordance with a preferred embodiment of the present invention the removable security element includes a smart card.

[0042] There is also provided in accordance with another preferred embodiment of the present invention a secure system for producing an output from an input x encoding the output, the system including a random number generator choosing a random number r, a randomized operation unit computing x′=G(x, r), a computation unit receiving x′ and computing y′=F(x′), and an “inverse” randomized operation unit receiving y′ from the computation unit and computing the output w=H (y′, r), wherein G, F, and H are functions chosen such that w is not dependent on the choice of r.

[0043] There is also provide in accordance with another preferred embodiment of the present invention a secure system for producing an output from an input x encoding the output, the system comprising a random number generator choosing a random number r, a randomized operation unit computing x′=G(x, r), an interface adapted to communicate with a computation unit external to the secure system, the computation unit receiving x′ and computing y′=F(x′), and an “inverse” randomized to operation unit receiving y′ from the computation unit and computing the output w=H (y′, r), wherein G, F, and H are functions chosen such that w is not dependent on the choice of r.

[0044] Further in accordance with a preferred embodiment of the present invention the random number generator, the randomized operation unit, and the “inverse” randomized operation unit are included in an output-production subsystem, and the computation unit is adapted for use with more than one output-production system, and the computation unit is not operable to distinguish between one output-production subsystem and another output-production subsystem.

[0045] Still further in accordance with a preferred embodiment of the present invention the random number generator, the randomized operation unit, and the “inverse” randomized operation unit are included in an output-production subsystem, and the computation unit is adapted for use with more than one output-production system, and the computation unit is not operable to determine, based solely on communication with the output-production subsystem, whether the output-production subsystem is entitled to receive output from the computation unit.

[0046] Additionally in accordance with a preferred embodiment of the present invention the output includes one of the following a control word (CW), and a decryption key.

[0047] Moreover in accordance with a preferred embodiment of the present invention the system also includes a utilization unit utilizing the output to decrypt an encrypted message.

[0048] Further in accordance with a preferred embodiment of the present invention F includes a secret function.

[0049] Still further in accordance with a preferred embodiment of the present invention the random number generator includes a secure random number generator.

[0050] Additionally in accordance with a preferred embodiment of the present invention the random number generator includes a pseudo-random number generator.

[0051] Moreover in accordance with a preferred embodiment of the present invention the function G is chosen such that derivation of r from x and G(r, x) is computationally unfeasible.

[0052] Further in accordance with a preferred embodiment of the present invention the function F is chosen such that, for two inputs x₁ and x₂, it is computationally unfeasible to compute F(x₁) from x₁, x₂, and F(x₂).

[0053] Still further in accordance with a preferred embodiment of the present invention a group having a computationally hard discrete logarithm problem is chosen, and G(x, r)=x, g^(r), and F(x, u)=u^(a(x)), and H(y, r)=y^(1/r mod order of the group), and a(x) is a secret cryptographic function, and g is a fixed generator of the group, and r is a large secret random integer relatively prime with the order of the group.

[0054] Additionally in accordance with a preferred embodiment of the present invention a large prime number p is provided, and a random number r relatively prime with (p-1) is chosen, and r′=1/r mod (p-1) is computed, and the output w has the form b^(a(x))mod p, and a(x) is a secret cryptographic function, and G(x, r)=(x, b^(r)mod p), and F(x′)=u ^(a(x))mod p, where x′=(x, u), and H(y′, r)=y′^(r′)mod p.

[0055] Moreover in accordance with a preferred embodiment of the present invention b is a generator of all of 1 . . . p-1.

[0056] Further in accordance with a preferred embodiment of the present invention b is a generator of a sub-group of 1 . . . p-1, the order of the sub-group being large and prime.

[0057] Still further in accordance with a preferred embodiment of the present invention the order of the sub-group is greater than 2¹²⁰.

[0058] Additionally in accordance with a preferred embodiment of the present invention the order of the sub-group is greater than 2¹⁶⁰.

[0059] Moreover in accordance with a preferred embodiment of the present invention the computation unit includes a secure computation unit.

[0060] Further in accordance with a preferred embodiment of the present invention the secure computation unit includes a removable security element. Still further in accordance with a preferred embodiment of the present invention the removable security element includes a smart card.

BRIEF DESCRIPTION OF THE DRAWINGS

[0061] The present invention will be understood and appreciated more fully from the following detailed description, taken in conjunction with the drawings in which:

[0062]FIG. 1 is a simplified block diagram illustration of a system for preventing unauthorized access to secure communications, constructed and operative in accordance with a preferred embodiment of the present invention; and

[0063]FIG. 2 is a simplified flowchart illustration of a preferred method of operation of the system of FIG. 1.

DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT

[0064] As explained above, in the present specification the example of a broadcast system is used by way of example only, it being appreciated that the prior art system of Nachman et al, described above, as well as the present invention may be used in other appropriate types of communication systems. In general, the present invention, in preferred embodiments thereof, can be used to protect secured communications which are restricted in scope, in the sense that not any possible message can be protected; rather, as will be appreciated from the discussion below, messages that can be protected in preferred embodiments of the present invention generally fall within particular categories governed by mathematical equations.

[0065] More specifically and without limiting the generality of the foregoing, the present invention is described herein in terms of a preferred embodiment in which an ICAM (Integrated Conditional Access Module), typically comprised in a set top box (STB), is in communication with a security element such as a smart card.

[0066] The present invention, in the context of a preferred embodiment relating to the case of an STB and a smart card, may be briefly summarized as follows:

[0067] 1. The ICAM receives the ECM and performs a randomized cryptographic operation thereon.

[0068] 2. The processed ECM is sent to the smart card.

[0069] 3. The smart card operates the smart card's one-way function (as is well known in the art and described, for example, in the Cohen et al patents mentioned above) on the ECM to produce a modified CW and sends the modified CW back to the ICAM. It is appreciated, throughout the present specification, that the example of using a one-way function is believed to be preferred, but that other methods known in the art may also be used.

[0070] 4. The ICAM performs an “inverse” operation (in a sense, inverse to the randomized cryptographic operation previously performed by the ICAM on the ECM) on the modified CW to obtain the actual CW.

[0071] Reference is now made to FIG. 1, which is a simplified block diagram illustration of a system for preventing unauthorized access to secure communications, constructed and operative in accordance with a preferred embodiment of the present invention. The system of FIG. 1, generally designated 100, preferably comprises an ICAM 110, which is in operative communication with a smart card 120. The ICAM 110 is typically comprised in a set top box (not shown).

[0072] It is appreciated that the smart card 120 is described by way of example only; any appropriate secure computation unit, preferably but not necessarily comprising a removable security element may be used; the smart card 120 is a preferred example of a removable security element.

[0073] The ICAM 110 and the smart card 120 are preferably implemented in hardware, as is well known in the art. The ICAM 110 and the smart card 120 may communicate via any appropriate interface; preferably, a standard interface, as is well known in the art, may be used.

[0074] The ICAM 110 preferably comprises a random number generator 130, preferably comprising a secure random number generator, as is well known in the art; alternatively, a pseudo random number generator may be used. The term “secure random number generator” is used, throughout the present specification and claims, to refer to any appropriate random number generator generally believed by persons skilled in the art to be secure, it being appreciated that it may not be possible to prove that a random number generator is secure.

[0075] The ICAM 110 also preferably comprises a randomized operation unit 140 and an “inverse” randomized operation unit 150. Preferred modes of operation of the randomized operation unit 140 and of the “inverse” randomized operation unit 150 are described below.

[0076] The smart card 120 preferably comprises a secret function unit 160. As is well known in the art, the secret function unit 160 is operative to perform a secret cryptographic function on its input, typically comprising an ECM, and to return its output, typically comprising a CW, to the ICAM 110. It is appreciated that, as is well known in the art and is described, for example, in U.S. Pat. Nos. 5,282,249 and 5,481,609 to Cohen et al and in U.S. Pat. No. 6,178,242 to Tsuria, referred to and incorporated by reference above, the smart card 120 preferably also comprises other components and is preferably operative to allow the secret function unit 160 to return the CW only if properly authorized, as described above.

[0077] A preferred mode of operation of the apparatus of FIG. 1 is now briefly described; it is appreciated that the following description is given by way of example only, and is not meant to be limiting.

[0078] Let x be an input ECM, typically received from broadcast, from a recording, or from any other appropriate source. Let r be a random number chosen by the random number generator 130 in the ICAM 110. The random number generator 130 preferably sends r to the randomized operation unit 140 and to the “inverse” randomized operation unit 150.

[0079] The randomized operation unit 140 in the ICAM 110 performs the operation x′=G(x, r) and sends x′ to the smart card 120.

[0080] The secret function unit 160 in the smart card 160 preferably operates, using the smart card's one way function, for example, on x′. The secret function unit 160 in the smart card 110 preferably performs the operation y′=F(x′) and sends y′ to the ICAM. (This preferred mode of operation is in contrast to the prior art, in which the ECM x is passed to a prior art smart card and the prior art smart card returns the CW.)

[0081] The “inverse” randomized operation unit 150 in the ICAM 110 preferably performs CW=H(y′, r).

[0082] Note that the result H(F(G(x, r)), r) must not depend on r; the functions G, F, and H, and possibly also the permissible values of the CW and/or of x, must be chosen such that this is true.

[0083] It is appreciated that the CW, as is well known in the art, may be used to unscramble a scrambled message; equivalently, the CW may function as a decryption key for decrypting an encrypted message. Descrambling and/or decryption may take place in any appropriate descrambling/decryption unit (not shown), as is well known in the art.

[0084] The following is a particular example and is not meant to limit the generality of the present invention. In the following example, particular choices of G, F, and H are given, along with associated permissible values of the CW.

[0085] Let CW=b^(a(x))mod p, where:

[0086] p is a large prime (as is well known in the art of cryptography);

[0087] a(x) is an appropriate secret cryptographic function, as is well known in the art; and

[0088] b is a generator of a “large enough” sub-group of the elements 1 . . . p-1; two preferred cases of “large enough” are:

[0089] 1) b is a generator of all of 1 . . . p-1; and

[0090] 2) b is a generator of a sub-group of 1 . . . p-1, the order of which sub-group is large (such as, for example, greater than 2¹⁶⁰) and prime. It is appreciated that b itself need not necessarily be large; in some cases a value of 2 or 3 for b may be appropriate. It is further appreciated that p-1 should preferably not have many small divisors, to prevent easy cryptanalysis.

[0091] The ICAM 110 receives x. The random number generator 130 in the ICAM 110 secretly chooses random r relatively prime with (p-1). The randomized operation unit 140 in the ICAM 110 computes b^(r)mod p and sends x′=(x, b^(r)mod p) to the smart card 120. The smart card 120 receives x′, and the secret function unit 160 in the smart card 120 computes y′=(b^(r))^(a(x))mod p=b^(r a(x))mod p; this result is sent back to the ICAM 110.

[0092] The “inverse” randomized operation unit 150 in the ICAM 110 computes the CW by raising the result received from the smart card 120 to the power r′, such that b^(rr′)=1 mod p, thus producing the CW=y′^(r′)=b^(a(x))mod p. It is appreciated that, since the “inverse” randomized operation unit 150 in the ICAM 110 knows r, the “inverse” randomized operation unit 150 is able to find r′ with r′=1/r mod (p-1).

[0093] In this particular example, G(x, r)=(x, b^(r)mod p), F(x′)=u^(a(x))mod p, where x′=(x, u), and H(y′, r)=y′^(r′)mod p, where r′=1/r mod p-1.

[0094] The security of this method, like that of many other contemporary cryptographic methods, depends on the intractability of the discrete logarithm problem, since an opponent would need to take the logarithm of b^(a(x)) or b^(r)mod p in order to break the scheme using cryptographic techniques.

[0095] The following observations apply to the above discussion:

[0096] a(x) may be any appropriate cryptographic function, which is kept secret.

[0097] The same r may be reused for multiple CWs.

[0098] It is appreciated that the above describes one example only, and that a person skilled in the art could substitute another appropriate group structure, such as elliptic curve operations, for modular exponentiation.

[0099] The following are believed to comprise some of the important features and positive results achieved by the present invention:

[0100] 1. The equipment receiving the CW, such as the ICAM 110 or the STB (not shown) in which the ICAM 110 is typically comprised, does not need to be serialized or to have any identity for being authenticated by the smart card 120; rather, it needs a secure random number generator such as the random number generator 130.

[0101] 2. The CW is computed as a composition of three function is H(F(G(x, r)), r), where r is a secure random chosen by the recipient of the CW. The security of the scheme is based on:

[0102] Unfeasibility of deriving r out of x and G(x, r).

[0103] Unfeasibility of computing F(x₁) out of x₁, x₂, F(x₂).

[0104] 3. If, additionally, it is unfeasible to derive r out of y and H(y, r), the computation performance may be improved by reusing the same r for multiple CWs.

[0105] 4. Any appropriate group with a computationally secure discrete logarithm problem, together with any generic secret function a(x) can be used for construction of the functions H, F, G as follows:

G(x, r)=x, g ^(r)

F(x, u)=u ^(a(x))

H(y, r)=y ^(1/r mod order of the group)

[0106] In this example g is a fixed generator of the group and r is a large secret random integer relatively prime with the order of the group. The term “computationally secure” is well known in the art and is defined, for example: in Applied Cryptography, referred to above and incorporated herein by reference, at page 8; and in Handbook of Applied Cryptography, referred to above and incorporated herein by reference, at page 43.

[0107] Reference is now made to FIG. 2, which is a simplified flowchart illustration of a preferred method of operation of the system of FIG. 1. The method of FIG. 2 is self-explanatory with reference to the above discussion of FIG. 1, except as described below.

[0108] In step 210, in which functions G, F, and H are chosen, it is appreciated that, as described above, functions G, F, and H are chosen such that the output w computed in step 230 does not depend on the value of r chosen in step 220.

[0109] It is further appreciated that, in preferred embodiments of the present invention, the choice of functions G, F, and H in step 210 is made “once and for all”, before, during or after production of devices which implement the method of FIG. 2; for example, and without limiting the generality of the foregoing, G, F, and H may be downloaded to such a device after production thereof, or may be “built in” during production thereof. By contrast, the choice of r in step 220 is made “at run time”, when devices which implement the method of FIG. 2 are used, as described more fully above with reference to FIG. 1.

[0110] It is appreciated that various features of the invention which are, for clarity, described in the contexts of separate embodiments may also be provided in combination in a single embodiment. Conversely, various features of the invention which are, for brevity, described in the context of a single embodiment may also be provided separately or in any suitable subcombination.

[0111] It will be appreciated by persons skilled in the art that the present invention is not limited by what has been particularly shown and described hereinabove. Rather the scope of the invention is defined only by the claims which follow: 

1-38. (canceled)
 39. A method for producing an output from an input encoding the output, the method comprising: choosing functions G, F, and H; providing an input x; choosing a random number r; computing x′=G(x, r); sending x′ to a computation unit; computing, in the computation unit, y′=F(x′); receiving y′ from the computation unit; and computing the output w=H(y′, r), wherein G, F, and H are chosen such that w is not dependent on the choice of r.
 40. The method according to claim 39 and wherein the output comprises one of the following: a control word (CW); and a decryption key.
 41. The method according to claim 40 and further comprising: utilizing the output to decrypt an encrypted message.
 42. The method according to claim 39 and wherein F comprises a secret function.
 43. The method according to claims 39 and wherein the choosing a random number r comprises choosing a random number r using a random number generator.
 44. The method according to claim 43 and wherein the random number generator comprises a secure random number generator.
 45. The method according to claim 39 and wherein the choosing a random number r comprises choosing a random number r using a pseudo-random number generator.
 46. The method according to claim 39 and wherein the function G is chosen such that derivation of r from x and G(r, x) is computationally unfeasible.
 47. The method according to claim 39 and wherein the function F is chosen such that, for two inputs x₁ and x₂, it is computationally unfeasible to compute F(x₁) from x₁, x₂, and F(x₂).
 48. The method according to claim 39 and also comprising choosing a group having a computationally hard discrete logarithm problem, and wherein: G(x, r)=x, g ^(r), and F(x, u)=u ^(a(x)), and H(y, r)=y ^(1/r mod order of the group), and a(x) is a secret cryptographic function, and g is a fixed generator of the group, and r is a large secret random integer relatively prime with the order of the group.
 49. The method according to claim 39 and also comprising: providing a large prime number p; choosing a random number r relatively prime with (p-1); and computing r′=1/r mod (p-1), and wherein: the output w has the form b^(a(x))mod p, and a(x) is a secret cryptographic function, and G(x, r)=(x, b ^(r)mod p), and F(x′)=u ^(a(x))mod p, where x′=(x, u), and H(y′, r)=y′ ^(r′)mod p.
 50. The method according to claim 49 and wherein b is a generator of all of 1 . . . p-1.
 51. The method according to claim 49 and wherein b is a generator of a sub-group of 1 . . . p-1, the order of said sub-group being large and prime.
 52. The method according to claim 51 and wherein the order of said sub-group is greater than 2¹²⁰.
 53. The method according to claim 51 and wherein the order of said sub-group is greater than 2¹⁶⁰.
 54. The method according to claim 39 and wherein the computation unit comprises a secure computation unit.
 55. The method according to claim 54 and wherein the secure computation unit comprises a removable security element.
 56. The method according to claim 55 and wherein the removable security element comprises a smart card.
 57. A secure system for producing an output from an input x encoding the output, the system comprising: a random number generator choosing a random number r; a randomized operation unit computing x′=G(x, r); a computation unit receiving x′ and computing y′=F(x′); and an “inverse” randomized operation unit receiving y′ from the computation unit and computing the output w=H(y′, r), wherein G, F, and H are functions chosen such that w is not dependent on the choice of r.
 58. The system according to claim 57 and wherein the random number generator, the randomized operation unit, and the “inverse” randomized operation unit are comprised in an output-production subsystem, and the computation unit is adapted for use with more than one said output-production system, and the computation unit is not operable to distinguish between one output-production subsystem and another output-production subsystem.
 59. The system according to claim 57 and wherein the random number generator, the randomized operation unit, and the “inverse” randomized operation unit are comprised in an output-production subsystem, and the computation unit is adapted for use with more than one said output-production system, and the computation unit is not operable to determine, based solely on communication with the output-production subsystem, whether the output-production subsystem is entitled to receive output from the computation unit.
 60. The system according to claim 57 and wherein the output comprises one of the following: a control word (CW); and a decryption key.
 61. The system according to claim 60 and further comprising: a utilization unit utilizing the output to decrypt an encrypted message.
 62. The system according to claim 57 and wherein F comprises a secret function.
 63. The system according to claim 57 and wherein the random number generator comprises a secure random number generator.
 64. The system according to claim 57 and wherein the random number generator comprises a pseudo-random number generator.
 65. The system according to claim 57 and wherein the function G is chosen such that derivation of r from x and G(r, x) is computationally unfeasible.
 66. The system according to claim 57 and wherein the function F is chosen such that, for two inputs x₁ and x₂, it is computationally unfeasible to compute F(x₁) from x₁, x₂, and F(x₂).
 67. The system according to claim 57 and wherein a group having a computationally hard discrete logarithm problem is chosen, and G(x, r)=x,g ^(r), and F(x, u)=u ^(a(x)), and H(y, r)=y ^(1/r mod order of the group), and a(x) is a secret cryptographic function, and g is a fixed generator of the group, and r is a large secret random integer relatively prime with the order of the group.
 68. The system according to claims 57 and wherein a large prime number p is provided, and a random number r relatively prime with (p-1) is chosen, and r′=1/r mod (p-1) is computed, and the output w has the form b^(a(x))mod p, and a(x) is a secret cryptographic function, and G(x, r)=(x, b ^(r)mod p), and F(x′)=u ^(a(x))mod p, where x′=(x, u), and H(y′, r)=y′ ^(r′)mod p.
 69. The system according to claim 68 and wherein b is a generator of all of 1 . . . p-1.
 70. The system according to claim 68 and wherein b is a generator of a sub-group of 1 . . . p-1, the order of said sub-group being large and prime.
 71. The system according to claim 70 and wherein the order of said sub-group is greater than 2¹²⁰.
 72. The system according to claim 70 and wherein the order of said sub-group is greater than 2¹⁶⁰.
 73. The system according to claim 57 and wherein the computation unit comprises a secure computation unit.
 74. The system according to claim 73 and wherein the secure computation unit comprises a removable security element.
 75. The system according to claim 74 and wherein the removable security element comprises a smart card.
 76. (new) A secure system for producing an output from an input x encoding the output, the system comprising: a random number generator choosing a random number r; a randomized operation unit computing x′=G(x, r); an interface adapted to communicate with a computation unit external to the secure system, the computation unit receiving x′ and computing y′=F(x′); and an “inverse” randomized operation unit receiving y′ from the computation unit and computing the output w=H(y′, r), wherein G, F, and H are functions chosen such that w is not dependent on the choice of r.
 77. The system according to claim 76 and wherein the random number generator, the randomized operation unit, and the “inverse” randomized operation unit are comprised in an output-production subsystem, and the computation unit is adapted for use with more than one said output-production system, and the computation unit is not operable to distinguish between one output-production subsystem and another output-production subsystem.
 78. The system according to claim 76 and wherein the random number generator, the randomized operation unit, and the “inverse” randomized operation unit are comprised in an output-production subsystem, and the computation unit is adapted for use with more than one said output-production system, and the computation unit is not operable to determine, based solely on communication with the output-production subsystem, whether the output-production subsystem is entitled to receive output from the computation unit.
 79. The system according to claim 76 and wherein the output comprises one of the following: a control word (CW); and a decryption key.
 80. The system according to claim 79 and further comprising: a utilization unit utilizing the output to decrypt an encrypted message.
 81. The system according to claim 76 and wherein F comprises a secret function.
 82. The system according to claim 76 and wherein the random number generator comprises a secure random number generator.
 83. The system according to claim 76 and wherein the random number generator comprises a pseudo-random number generator.
 84. The system according to claim 76 and wherein the function G is chosen such that derivation of r from x and G(r, x) is computationally unfeasible.
 85. The system according to claim 76 and wherein the function F is chosen such that, for two inputs x₁ and x₂, it is computationally unfeasible to compute F(x₁) from x₁, x₂, and F(x₂).
 86. The system according to claim 76 and wherein a group having a computationally hard discrete logarithm problem is chosen, and G(x, r)=x, g ^(r), and F(x, u)=u ^(a(x)), and H(y, r)=y ^(1/r mod order of the group), and a(x) is a secret cryptographic function, and g is a fixed generator of the group, and r is a large secret random integer relatively prime with the order of the group.
 87. The system according to claim 76 and wherein a large prime number p is provided, and a random number r relatively prime with (p-1) is chosen, and r′=1/r mod (p-1) is computed, and the output w has the form b^(a(x))mod p, and a(x) is a secret cryptographic function, and G(x, r)=(x, b ^(r)mod p), and F(x′)=u ^(a(x))mod p, where x′=(x, u), and H(y′, r)=y ^(r′)mod p.
 88. The system according to claim 87 and wherein b is a generator of all of 1 . . . p-1.
 89. The system according to claim 87 and wherein b is a generator of a sub-group of 1 . . . p-1, the order of said sub-group being large and prime.
 90. The system according to claim 89 and wherein the order of said sub-group is greater than 2¹²⁰.
 91. The system according to claim 89 and wherein the order of said sub-group is greater than 2¹⁶⁰.
 92. The system according to claim 76 and wherein the computation unit comprises a secure computation unit.
 93. The system according to claim 92 and wherein the secure computation unit comprises a removable security element.
 94. The system according to claim 93 and wherein the removable security element comprises a smart card. 